package org.example.top40;

public class main16 {
    //合并两个有序数组
    //输入：nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3
    //输出：[1,2,2,3,5,6]
    //思路：倒着排序，从大到小， 当nums2还有剩余，继续添加进nums1
    public static void main(String[] args) {
        int[] nums1={1,2,3,0,0,0};
        int m=3;
        int[] nums2={2,5,6};
        int n=3;
        int p1=m-1;
        int p2=n-1;
        int sum=m+n-1;
        while (p1>=0&&p2>=0){
            if(nums1[p1]>=nums2[p2]){
                nums1[sum--]=nums1[p1--];
            }else {
                nums1[sum--]=nums2[p2--];
            }
        }
        while (p2>0){
            nums1[sum--]=nums2[p2--];
        }
        for (int num:nums1){
            System.out.println(num);
        }
    }
}
